class: center, middle, inverse, title-slide .title[ # Armando un proyecto de trabajo ] .subtitle[ ## Dirección Nacional de Estadística Criminal - Ministerio de Seguridad ] --- <style type="text/css"> .remark-slide-content { font-size: 25px; padding: 1em 1em 1em 1em; } <style type="text/css"> .remark-code{ line-height: 1.5; font-size: 80% } @media print { .has-continuation { display: block; } } </style> # Hoja de ruta <br><br> ## ✔️ Estructura de carpetas ## ✔️ Proyectos de trabajo (_R project_) --- # Proyectos y rutas de trabajo Intentar correr la siguiente sentencia en la consola o en un script.R : ```r library(tidyverse) base_snic <- read_csv("C:/Users/pablo/Documents/Pablo/Cursos R/r_min_seguridad/intro_r_minseg/data/inmuebles-estado-nacional.csv") ``` -- ### A tener en cuenta respecto a la sentencia para importar el archivo (nuestra base): - Si se la compartimos a otra persona, __se rompe__ - Si cambiamos de computadora, __se rompe__ - Si lo cambiamos de lugar, __se rompe__ --- # Armar un nuevo proyecto .pull-left[ #### Paso 1: <img src="data:image/png;base64,#img/nuevo_proyecto.png" width="1176" /> ] .pull-right[ #### Paso 2: <img src="data:image/png;base64,#img/nuevo_proyecto_1.png" width="787" /> ] --- # Armar un nuevo proyecto .pull-left[ #### Paso 3: <img src="data:image/png;base64,#img/nuevo_proyecto_2.png" width="785" /> ] .pull-right[ #### Resultado: <img src="data:image/png;base64,#img/proyecto_nuevo.png" width="1656" style="display: block; margin: auto;" /> ] --- # Armar un nuevo proyecto <img src="data:image/png;base64,#img/proyecto_nuevo_ancla.png" width="60%" style="display: block; margin: auto;" /> --- # Proyectos y rutas de trabajo ### Armando un proyecto con Rstudio, al ubicar la base de datos en la carpeta, la función se escribiría de esta forma: ```r library(tidyverse) base_snic <- read_csv("inmuebles-estado-nacional.csv") ``` -- ### Ventajas: - R pone un ancla, un punto de partida desde donde recorre las carpetas de la computadora. - Si dos personas comparten la misma estructura de carpeta en el proyecto, su código pasa a ser reproducible. --- # Flujo de trabajo ### Supongamos que queremos comenzar un nuevo proyecto para analizar la base del Sistema Nacional de Información Criminal (SNIC). -- #### El flujo de trabajo sería el siguiente: 1) Armo la carpeta del proyecto, por ejemplo con la estructura siguiente: - 📂 proyecto_snic - 📂 datos - 📂 resultados - 📂 scripts - 📂 docs --- # Proyecto de trabajo 2) Ubico la base de datos en la carpeta correspondiente (__datos__): - 📂 proyecto_snic - 📂 datos - `📄 snic-departamentos-mes-sexo.csv` - 📂 resultados - 📂 scripts - 📂 docs_metodologicos --- # Proyecto de trabajo 3) Abro Rstudio y creo un proyecto, ubicado en la carpeta principal (**proyecto_snic**) - 📂 proyecto_snic - <img src = "data:image/png;base64,#img/Rproject.png" style="height: 35px; width:35px;"/> _proyecto_snic.Rproj_ **<--** - 📂 datos - 📄 *snic-departamentos-mes-sexo.csv* - 📂 resultados - 📂 scripts - 📂 docs --- # Proyecto de trabajo 4) Creo un script llamado _levantar_datos.R_ para trabajar en R y lo guardo en la carpeta __scripts__ - 📂 proyecto_snic - <img src = "data:image/png;base64,#img/Rproject.png" style="height: 35px; width:35px;"/> _proyecto_snic.Rproj_ - 📂 datos - 📄 snic-departamentos-mes-sexo.csv - 📂 resultados - 📂 scripts - 📄 `_1_levantar_datos.R_` - 📂 docs --- # Proyecto de trabajo 5) En el script, cargo los paquetes cuyas funciones voy a utilizar. En este caso, el paquete `tidyverse` para poder importar bases de datos con la función `read_csv()`: ```r library(tidyverse) ``` -- 6) Creo un objeto en el cual voy a importar la base de datos y utilizo la función `read_csv()` para hacerlo. __Recordar:__ _Estamos en un proyecto, por lo que la ruta comienza en la carpeta en la que se encuentra el archivo .Rproj_ ```r base_snic <- read_csv("datos/snic-departamentos-mes-sexo.csv") ``` --- # Funciones para una primera mirada a la base de datos: | __Función__ | __Acción__ | | :--- | :--- | | `dim()` | *Nos dice cuántas filas y columnas tiene la base*| | `colnames()` | *Devuelve todos los nombres de las variables de la base*| | `str()` | *Devuelve una vista preliminar de la estructura de las variables*| | `summary()` | *Devuelve un resúmen de medidas centrales para variables numéricas y características para variables de texto *| | `class()` | *Chequeo el tipo de objeto*| | `length()` | *Devuelve la cantidad de elementos de un objeto*| | `table()` | *Frecuencia simple o bivariada de una variable*| | `is.na()` | *Verifica la presencia de valores NA (_missinh_) en la base/variable*| | `mean()` | *Calcula el valor promedio de una variable numércia*| --- class: inverse, middle, center